简单问题#include<iostream.h>和没有.h用using namespace std有什么区别

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:28:49
不是很明白,说通俗点,具体点,谢谢。

#include <iostream>
是符合C++国际标准的用法
#include <iostream.h>
只是各个编译器和库厂商保留用作向后兼容的遗留功能
标准上说,所有标准库成员都在 ::std 名字空间之内,使用
using namespace 相当于把这些名字“倾倒”进了全局名字空间中。
C++ IO 流库是最早随C++语言发售的标准库之一,在C++早期,模板、名字空间、甚至多继承都还没被引入C++语言的时候,就已经有IO流了,后来演化为主要C++编译器厂商都提供<iostream.h>库。
C++ 国际标准 ISO/IEC 14882:1998 将所有标准库组件都放入了名字空间 ::std 中,并且把 IO 流库模板化,新的 <iostream> 与传统的 <iostream.h> 功能基本相同。
当代编译器实现实际上大多并不提供两个不同的 IO 流实现,只不过是一个实现不带 namespace std 的 <iostream.h> 另一个头文件用namespace 里 #include 一下,或者先实现一个有 namespace std 的 <iostream> 在提供一个带有 using 的 <iostrea.h>。